export interface IError<T> {
  httpCode: number
  errorData: T
}

export interface IResponseData<T> {
  code: number
  data?: T
  msg?: string
  request_id?: string
  timestamp?: number
}

// eslint-disable-next-line @typescript-eslint/no-explicit-any
export interface IDataWithError<T = any, R = any> {
  errorCode?: number
  errorMsg?: string
  data?: T
  error?: IError<R>
  requestId?: string
  timestamp?: number
}

export type AnyObject = Record<string, unknown>
